<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>
    学习了mybatis的自关联递归查询 具体如下
</p>
<!--




  resultMap自定义类型   type类型对象===> 自己写的那个模型

                  **此处写的字段才会被set进实体类中，这非常重要
                    id 必须加    column为数据库中对应表的字段   jdbcType为数据库中对应表的类型    property为实体类中的字段
                    result为一般字段 可按需求自行添加  column jdbcType property 和id一样


                    关键来了 collection property 为上层实体类中对应的那个list或者set等的集合的属性名   推荐使用ofType，写泛型的对应类
                      内部和外面一样 同样 数据库表的字段名，数据库表的类型，重要的是实体类中的字段名


定义select 语句   id为mapper接口中的方法名   resultMap为resultMap的id



有 LEFT RIGTH INNER FULL 四种关联查询的方法  分别对应
    左查询
    右查询
    内连接
    全连接

    目标表的外键 = 对应表的id

    可重复关联


    and 查询条件










    <resultMap id="CasResultMao" type="com.example.demo.Vo.UserResultVo">
        <id column="u_id" jdbcType="INTEGER" property="uId"/>
        <result column="u_loginName" jdbcType="VARCHAR" property="uLoginname"/>
        <result column="u_password" jdbcType="VARCHAR" property="uPassword"/>
        <result column="u_name" jdbcType="VARCHAR" property="uName"/>
        <result column="u_gender" jdbcType="VARCHAR" property="uGender"/>
        <result column="u_phoneNumber" jdbcType="VARCHAR" property="uPhonenumber"/>
        <result column="u_email" jdbcType="VARCHAR" property="uEmail"/>
        <result column="u_description" jdbcType="VARCHAR" property="uDescription"/>
        <collection property="roles" ofType="com.example.demo.pojo.Role">
            <id column="r_id" jdbcType="INTEGER" property="rId"/>
            <result column="r_name" jdbcType="VARCHAR" property="rName"/>
            <result column="r_description" jdbcType="VARCHAR" property="rDescription"/>
            <result column="u_id" jdbcType="VARCHAR" property="uId"/>
        </collection>
    </resultMap>
    <select id="getCasAll" parameterType="int" resultMap="CasResultMao">
        select
        u.u_id,
        u.u_loginName,
        u.u_password,
        u.u_name,
        u.u_gender,
        u.u_phoneNumber,
        u.u_email,
        u.u_description,
        r.r_id,
        r.r_name,
        r.r_description
        FROM user u
        INNER JOIN
        role r
        ON r.u_id = u.u_id and u.u_id = #{u_id}
    </select>

-->

<p>学习了使用gradle管理项目，gradle相比于maven，拥有更简洁的语法，在实现相同功能的情况下，gradle优势明显</p>

<p>初步学习了Spring-Security，但发现难度太大，初步了解，可以对请求的地址进行拦截和放行，然后统一重定向至login页面</p>
<p>可以对密码等字符进行加密,以下为当日学习地址，该地址将的很细，并且拥有许多springboot相关的教程</p>
<a href="http://www.spring4all.com/article/428">社区 Spring Security 从入门到进阶系列教程</a>

<p>复习了以前学过的redis，但总体还是感觉到为啥redis会比较的简单，还是说是我根本不知道，redis为何物</p>
</body>
</html>